Communication systems are known to comprise mobile transmitters and receivers, such as in-car mobile or hand-held portable radios, as well as fixed transmitters and receivers, such as base stations or repeaters (fixed end). The mobiles and fixed end are operably coupled by separate transmit and receive communication paths. The communication paths between the mobiles and the fixed end are typically wireless links, such as radio frequency (RF) channels. The communication paths between fixed transmitters and fixed receivers are typically wireline links, such as land-based phone lines.
A typical message within such a communication system may begin with a mobile unit converting an audio signal into a digital data stream suitable for transmission over an RF channel. This digital data is received via the RF channel by the fixed end where it is routed for retransmission, via an RF channel, to a second mobile. Finally, the second mobile is able to convert this digital data stream back into an audio signal, hence completing the message transmission. When information passed through such communication systems is represented digitally, the application of error correction codes is generally known.
Data transmitted through either an RF or wireline communication path is subject to the occurrence of errors. Errors occur as a result of noise or interference present in the communication path. There is an inherent minimum noise floor present within any communication path. Also, external phenomena may add to the noise level of a communication path. For instance, electrical storms can add noise to RF channels; crosstalk between closely aligned phone wires can create interference in wireline paths. Such errors, if allowed to pass through the entire communication system, cause degraded performance such as garbled audio signals at the message's final destination. The use of error correction codes offers substantial protection against such errors.
Error correction codes provide protection against errors by creating redundancy for the message being transmitted. This redundancy takes the form of additional bits added to the message, often called parity bits. Prior to transmission over a communication path, the bits of a message are passed through a known encoding function which generates a unique set of parity bits. A code word which comprises the message and its parity bits is then transmitted to the fixed receiver. The structure of the code word is dependant upon the application. For instance, the parity bits may be interleaved with the message or appended to the end of the message.
The fixed receiver passes the code word through a decoding function (essentially the inverse of the encoding function) to determine if any errors have occurred in the message. The decoding function typically has the capabilities to determine how many errors, if any, have occurred in the message and to correct these errors, if possible. If the number of errors in the message is less than or equal to the error correction code's capability to correct, the errors are corrected and normal processing of the message continues. If, however, more errors are detected than the error correction code is capable of correcting, the message is considered uncorrectable (often called an erasure). The handling of erasures by the fixed receiver is dependant upon the application. For instance, in a voice communication system, it may be appropriate to replace the erasure with the most recent error-free message. This error correction procedure can be repeated over each communication path in the system. Communication links that utilize error correction, however, suffer a reduction in information capacity which is proportional to the complexity of, and hence the amount of redundancy provided by, the error correction method. Generally, error correction methods which offer a higher capability for detecting and correcting errors also require a larger portion of the available data bandwidth.
It is generally known that the error rate performance of a wireline link is typically superior to the error rate performance of a wireless link. Code words produced for transmission via a wireless link typically possess higher error protection requirements than are required for transmission via a wireline link. Such code words that are subsequently re-transmitted over a wireline link occupy a portion of the wireline's available data bandwidth that is larger than necessary. Therefore, a need exists for a method which offers the advantages of error correction within a communication system without over utilization of the available data bandwidth in a wireline link.